1. Field of the Invention
The present invention pertains to multiprotocol label switching network environments. More particularly, this invention relates to aggregating data streams in a multiprotocol label switching network environment.
2. Background
Computer systems are increasingly becoming commonplace in homes and businesses throughout the world. As the number of computer systems increases, more and more computer systems are becoming interconnected via networks. New devices as well as new methods of using both new and existing devices are continually being developed to improve the performance of such networks.
One such method is referred to as multiprotocol label switching (MPLS). MPLS integrates network layer (often referred to as layer 3) routing with a label swapping forwarding paradigm used by the link level (often referred to as layer 2) in a network. MPLS may use asynchronous transfer mode (ATM) switching hardware to route higher level (e.g., Internet Protocol or xe2x80x9cIPxe2x80x9d, protocols rather than the more traditional ATM addressing and switching mechanisms. A data packet being transferred through the network is assigned a xe2x80x9clabelxe2x80x9d based on its entry and exit points to and from the network. When a switch within the network receives the data packet, it removes the current label uses the current label as an index into a table that identifies both the next switch or router and a new label. This new label is then forwarded to the next switch or router along with the data packet, which repeats the label replacement or swapping steps, or transfers the data packet out of the network as appropriate.
One problem encountered in using MPLS is the number of labels within the network that are required to support MPLS. As the number of sources and destinations in a network increases, as well as the potential number of routes, the number of labels required becomes extremely burdensome, and can be prohibitively large to be useable in most currently available hardware components within the network.
One solution is to aggregate data streams within the network on a single label. A data xe2x80x9cstreamxe2x80x9d refers to one or more bytes of data to be transferred from a source to a destination via the network. Multiple destination devices may access the network via the same router, resulting in the paths to these multiple destinations sometimes being the same. New hardware devices, typically including additional hardware buffering capabilities, can be developed that allow the data from these one or more sources to the same destination to be merged so that only a single label is needed for the path. However, typical hardware components that are currently available do not support such aggregation. Thus, it would be beneficial to provide a way to aggregate data paths with currently available hardware devices as well as hardware devices currently installed in various locations.
Another solution is to use the same label for each possible source to a particular destination, thereby reducing the number of labels to be equal to the number of possible destinations. However, a problem of xe2x80x9ccell interleavingxe2x80x9d occurs with this solution. When data is transferred through the ATM switching hardware, it is transferred in small portions referred to as xe2x80x9ccellsxe2x80x9d. If all sources were to use the same label for the frames of data being sent to the same destination, then it would not be possible for the destination to distinguish between these different frames, and cells of different frames would most likely become interleaved making it virtually impossible for the destination to recover the original frames.
Another solution is to identify the source of the frame with the particular request, thereby allowing the destination, as well as intermediary switches in the network, to identify which frames correspond to which sources. However, an additional problem can arise because it is possible that multiple paths from source to destination may exist, any one or more of which can be used by the source. Thus, cell interleaving can still occur because, although the source and destination for a frame may be known, the exact path taken by a frame, and thus which cells belong to which frame, would not be known to the destination.
Thus, a need exists for an improved way to provide for data stream aggregation in a multiprotocol label switching network environment.
A method and apparatus for stream aggregation in a multiprotocol label switching network environment is described herein. According to one aspect of the present invention, a method for aggregating data streams in a multiprotocol label switching network includes receiving a label assignment request that includes an identification of a path followed by the label assignment request through the network and determining whether the path has been used by any of a plurality of previous label assignment requests. A new label is assigned for the path if the path has not been used by any of the plurality of previous label assignment requests, otherwise a previously assigned label is assigned for the path.
According to one aspect of the present invention, a method in a switch of a multiprotocol label switching network includes receiving a label assignment request that includes an identification of a path followed by the label assignment request through the network to the switch, and determining whether the path has been used by any of a plurality of previous label assignment requests. A merge identifier is assigned to the label assignment request, the assigned merge identifier being either a new merge identifier, if the path has not been used by any of the plurality of previous label assignment requests, or a previously assigned merge identifier if the path has been used by any of the plurality of previous label assignment requests, and the merge identifier is forwarded along with the label assignment request to a next switch in the network.